home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 4.1 KB | 142 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWWinDIB.cpp
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include "FWOS.hpp"
-
- #ifdef FW_BUILD_WIN
-
- #ifndef FWWINDIB_H
- #include "FWWinDIB.h"
- #endif
-
- #ifndef FWSTRMRW
- #include "FWStrmRW.h"
- #endif
-
- #ifndef FWODEXCE_H
- #include "FWODExce.h"
- #endif
-
- #ifndef FWSOMENV_H
- #include "FWSOMEnv.h"
- #endif
-
-
- //========================================================================================
- // DIB utilities
- //========================================================================================
-
- //----------------------------------------------------------------------------------------
- // FW_DIBAcquireColorTable
- //----------------------------------------------------------------------------------------
-
- unsigned short
- SL_API FW_DIBAcquireColorTable(FW_WinDIB dib, FW_SColor** colors)
- {
- unsigned short nColors = FW_PrivDIBAcquireColorTable(dib, colors);
- if (colors == 0 && nColors != 0)
- FW_Failure(FW_xMemoryExhausted);
- return nColors;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_DIBConvertToBitmap
- //----------------------------------------------------------------------------------------
-
- HBITMAP
- SL_API FW_DIBConvertToBitmap(FW_WinDIB dib, HPALETTE hPal)
- {
- HBITMAP hBitmap = FW_PrivDIBConvertToBitmap(dib, hPal);
- if (hBitmap == 0)
- FW_Failure(FW_xMemoryExhausted);
- return hBitmap;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_DIBConvertFromBitmap
- //----------------------------------------------------------------------------------------
-
- FW_WinDIB
- SL_API FW_DIBConvertFromBitmap(HBITMAP bitmapHandle, short bitDepth, HPALETTE hPal)
- {
- FW_WinDIB dib = FW_PrivDIBConvertFromBitmap(bitmapHandle, bitDepth, hPal);
- if (dib == 0)
- FW_Failure(FW_xMemoryExhausted);
- return dib;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_DIBGetPalette
- //----------------------------------------------------------------------------------------
-
- HPALETTE
- SL_API FW_DIBGetPalette(FW_WinDIB dib)
- {
- FW_SOMEnvironment ev;
- HPALETTE hPal = FW_PrivDIBGetPalette(ev, dib);
- FW_FailOnEvError(ev);
- return hPal;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_DIBCreate
- //----------------------------------------------------------------------------------------
-
- FW_WinDIB
- SL_API FW_DIBCreate(
- short bitDepth, short width, short height,
- short nbColors, const FW_SColor* colorTable,
- const void* pixels)
- {
- FW_WinDIB dib = FW_PrivDIBCreate(bitDepth, width, height, nbColors, colorTable, pixels);
- if (dib == 0)
- FW_Failure(FW_xMemoryExhausted);
- return dib;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_DIBCreateCopy
- //----------------------------------------------------------------------------------------
-
- FW_WinDIB
- SL_API FW_DIBCreateCopy(FW_WinDIB dib)
- {
- FW_WinDIB dibCopy = FW_PrivDIBCreateCopy(dib);
- if (dibCopy == 0)
- FW_Failure(FW_xMemoryExhausted);
- return dibCopy;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_DIBLoadFromStream
- //----------------------------------------------------------------------------------------
-
- FW_WinDIB
- SL_API FW_DIBLoadFromStream(FW_CReadableStream& stream, FW_Boolean bFileHeader)
- {
- FW_SOMEnvironment ev;
- FW_WinDIB dib = FW_PrivDIBLoadFromStream(ev, stream, bFileHeader);
- FW_FailOnEvError(ev);
- return dib;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_DIBSaveToStream
- //----------------------------------------------------------------------------------------
-
- void
- SL_API FW_DIBSaveToStream(FW_CWritableStream& stream, FW_WinDIB dib, FW_Boolean bFileHeader)
- {
- FW_SOMEnvironment ev;
- FW_PrivDIBSaveToStream(ev, stream, dib, bFileHeader);
- FW_FailOnEvError(ev);
- }
-
- #endif // FW_BUILD_WIN
-